package org.paradise.dms.services;

import java.util.List;

import org.paradise.dms.pojo.SystemUser;
import org.paradise.dms.pojo.SystemUserGroup;
import org.paradise.dms.pojo.SystemUserGroupRole;
import org.springframework.stereotype.Service;

/**
 * 
 * Description: 用来处理登录登出验证的服务
 * 
 * 
 * Copyright (c) 2008-2009 paraDise sTudio(DT). All Rights Reserved.
 * 
 * @version 1.0 2009-3-8 下午06:00:32 李双江（paradise.lsj@gmail.com）created
 */
@Service
public interface AuthenticateService {

	/**
	 * 
	 * Description:处理用户登录
	 * 
	 * @Version1.0 2009-3-8 下午06:02:42 李双江（paradise.lsj@gmail.com）创建
	 * @param name
	 *            可能是学号，工号，或者是nickname等
	 * @param pwd
	 *            登录密码
	 * @param roleType
	 *            登录的角色
	 * @return
	 */
	List<SystemUser> getSysUserByNamePwd(String name, String pwd);

	/**
	 * 
	 * Description:载入用户权限值
	 * 
	 * @Version1.0 2009-3-8 下午06:28:12 李双江（paradise.lsj@gmail.com）创建
	 * @param sysusergroupid
	 *            登陆用户的groupid号
	 * @return
	 */
	List<SystemUserGroupRole> getSystemUserPermissionValue(String sysusergroupid);

	/**
	 * 
	 * Description: 通过groupid确定系统用户组是否可用,返回SystemUserGroup对象
	 * 
	 * @Version1.0 2009-3-22 下午11:48:30 李双江（paradise.lsj@gmail.com）创建
	 * @param sysusergroupid
	 * @return
	 */
	List<SystemUserGroup> isSystemUserGroupUsable(String sysusergroupid);

	/**
	 * 
	 * Description: 用户登出
	 * 
	 * @Version1.0 2009-3-8 下午06:26:58 李双江（paradise.lsj@gmail.com）创建
	 * @return
	 */
	boolean logout();

}
